package search.vo;


import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

/**
 * Created by xiaoqian on 2016/11/7.
 * 通用文档
 */
public class CommonDoc implements Serializable {

    private boolean deleteFlag = false;

    /**
     * 标题
     */
    private String title;

    /**
     * 商品skuID
     */
    private String sku;

    /**
     * 业务数据id
     */
    private String id;

    /**
     * 发布人id,店铺id
     */
    private String userId;

    /**
     * 店铺名
     */
    private String storeName;

    private String storeLevel;

    /**
     * 业务数据分类
     */
    private String category;

    /**
     * 索引类型分类，例如商品，文章
     */
    private String type;

    /**
     * 附加关键字
     */
    private String keyWord;

    /**
     * 时间，用户计算业务数据生成时间
     */
    private Long createDate;

    /**
     * 图片路径，可能为空，只保存，不索引
     */
    private String logoUrl;

    /**
     * 产品价格
     */
    private Double price;

    /**
     * 总评分
     */
    private Integer rate;

    /**
     * 评分人数
     */
    private Integer rateCount;

    /**
     * 销售数
     */
    private Integer saleCount;

    /**
     * 退货数
     */
    private Integer backCount;

    /**
     * 返修数
     */
    private Integer repaireCount;

    /**
     * 查看数
     */
    private Integer viewCount;

    /**
     * 评价数
     */
    private Integer commentCount;

    /**
     * 收藏数
     */
    private Integer collectCount;

    /**
     * 品牌
     */

    private String brand;

    /**
     *保存的扩展字段
     */
    private Map<String,String> extSaveProperties = new HashMap();

    /**
     * 索引扩展字段
     */
    private Map<String,String> extIndexProperties = new HashMap();

    public String getSku() {
        return sku;
    }

    public void setSku(String sku) {
        this.sku = sku;
    }

    public String getStoreLevel() {
        return storeLevel;
    }

    public void setStoreLevel(String storeLevel) {
        this.storeLevel = storeLevel;
    }

    public String getStoreName() {
        return storeName;
    }

    public void setStoreName(String storeName) {
        this.storeName = storeName;
    }

    public Integer getBackCount() {
        return backCount;
    }

    public void setBackCount(Integer backCount) {
        this.backCount = backCount;
    }

    public Integer getRepaireCount() {
        return repaireCount;
    }

    public void setRepaireCount(Integer repaireCount) {
        this.repaireCount = repaireCount;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public Integer getCollectCount() {
        return collectCount;
    }

    public void setCollectCount(Integer collectCount) {
        this.collectCount = collectCount;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getKeyWord() {
        return keyWord;
    }

    public void setKeyWord(String keyWord) {
        this.keyWord = keyWord;
    }

    public Long getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Long createDate) {
        this.createDate = createDate;
    }

    public String getLogoUrl() {
        return logoUrl;
    }

    public void setLogoUrl(String logoUrl) {
        this.logoUrl = logoUrl;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

    public Integer getRate() {
        return rate;
    }

    public void setRate(Integer rate) {
        this.rate = rate;
    }

    public Integer getRateCount() {
        return rateCount;
    }

    public void setRateCount(Integer rateCount) {
        this.rateCount = rateCount;
    }

    public Integer getSaleCount() {
        return saleCount;
    }

    public void setSaleCount(Integer saleCount) {
        this.saleCount = saleCount;
    }

    public Integer getViewCount() {
        return viewCount;
    }

    public void setViewCount(Integer viewCount) {
        this.viewCount = viewCount;
    }

    public Integer getCommentCount() {
        return commentCount;
    }

    public void setCommentCount(Integer commentCount) {
        this.commentCount = commentCount;
    }

    public Map<String, String> getExtSaveProperties() {
        return extSaveProperties;
    }

    public void setExtSaveProperties(Map<String, String> extSaveProperties) {
        this.extSaveProperties = extSaveProperties;
    }

    public Map<String, String> getExtIndexProperties() {
        return extIndexProperties;
    }

    public void setExtIndexProperties(Map<String, String> extIndexProperties) {
        this.extIndexProperties = extIndexProperties;
    }

    public boolean isDeleteFlag() {
        return deleteFlag;
    }

    public void setDeleteFlag(boolean deleteFlag) {
        this.deleteFlag = deleteFlag;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    @Override
    public String toString() {
        return "CommonDoc{" +
                "deleteFlag=" + deleteFlag +
                ", title='" + title + '\'' +
                ", id='" + id + '\'' +
                ", userId='" + userId + '\'' +
                ", storeName='" + storeName + '\'' +
                ", storeLevel='" + storeLevel + '\'' +
                ", category='" + category + '\'' +
                ", type='" + type + '\'' +
                ", keyWord='" + keyWord + '\'' +
                ", createDate=" + createDate +
                ", logoUrl='" + logoUrl + '\'' +
                ", price=" + price +
                ", rate=" + rate +
                ", rateCount=" + rateCount +
                ", saleCount=" + saleCount +
                ", backCount=" + backCount +
                ", repaireCount=" + repaireCount +
                ", viewCount=" + viewCount +
                ", commentCount=" + commentCount +
                ", collectCount=" + collectCount +
                ", brand='" + brand + '\'' +
                ", extSaveProperties=" + extSaveProperties +
                ", extIndexProperties=" + extIndexProperties +
                '}';
    }
}
